<%-- 
    Document   : afficherFluxPublic
    Created on : 5 oct. 2011, 10:57:45
    Author     : Antonin Mozzati & Yanick Schürter
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Tweetor : aux nouvelles!</title>
        <LINK rel=stylesheet type="text/css" href="style.css">
        <LINK rel=stylesheet type="text/css" href="menu.css">
    </head>

    <body>
	<div id="main">
            <div id="header">

                <!-- Login -->
                <jsp:include page="header/login.jsp"/>
                <jsp:include page="header/logo.jsp"/>
                <jsp:include page="header/menu.jsp"/>

            </div> <!-- header -->

	    <c:choose>
                <%-- Si ID de flux en paramètre --%>
		<c:when test="${!empty param.fid}">
		    <c:set var="flux" value="${listeFlux.getById(param.fid)}" />
		    <c:choose>
			<%-- Si le flux est public --%>
			<c:when test="${flux.estPublic == 1}">
			    <%-- Affichage du flux --%>
			    <%-- Titre --%>
			    <h1><c:out value="${flux.getTitreFlux()}" /></h1>
			    <%-- Abonnement --%>
			    <c:choose>
				<c:when test="${!listeSuivis.suit(flux.id_flux, sessionScope.sessionID)}">
				    <%-- Si l'utilisateur n'est pas abonné, on affiche le bouton d'abonnement --%>
				    <form name="formulaireAbonnement" action="afficherFluxPublic.do?fid=<c:out value="${flux.id_flux}" />" method="POST">
					<input type="hidden" name="id_flux" value="<c:out value="${flux.id_flux}" />" />
					<input type="submit" name="aboSubmit" value="S'abonner!" />
				    </form>
				</c:when>
				<c:otherwise>
				    <%-- Si abonné, on affiche le bouton de désabonnement --%>
				    <form name="formulaireDesabonnement" action="afficherFluxPublic.do?fid=<c:out value="${flux.id_flux}" />" method="POST">
					Vous êtes abonné 
					<input type="hidden" name="id_flux" value="<c:out value="${flux.id_flux}" />" />
					<input type="submit" name="desaboSubmit" value="Se désabonner" />
				    </form>
				</c:otherwise>
			    </c:choose>
			    <%-- Liste des nouvelles --%>
			    <c:set var="nouvelles" value="${listeNouvelles.getByFlux(param.fid)}" />
			    <c:choose>
				<c:when test="${empty nouvelles}">
				    <%-- Si pas de nouvelles, message d'erreur --%>
				    <em>Pas encore de nouvelles</em>
				</c:when>
				<c:otherwise>
				    <%-- Si nouvelles, on les affiche --%>
				    <c:forEach var="uneNouvelle" items="${nouvelles}">
					<div class="divNouvelle">
					    <h3>
                                                <a href="afficherFluxPublic.do?nid=<c:out value="${uneNouvelle.id_nouvelle}"/>"><c:out value="${uneNouvelle.titreNouvelle}" /></a>
                                                <span class="date">(Publié le <c:out value="${uneNouvelle.getDateFR()}" />)</span>
                                            </h3>

					    <%-- Affichage des tags --%>
					    <p id="pTags"><u>Tags:</u>
					    <c:set var="tags" value="${listeTagNouvelle.getByNouvelle(uneNouvelle.id_nouvelle)}" />
					    <c:choose>
						<c:when test="${empty tags}">
						    <em>Aucun</em>
						</c:when>
						<c:otherwise>
						    <em>
							<c:forEach var="tag" items="${tags}">
                                                            <a href="rechercherNouvelle.do?tag=<c:out value="${tag.getNomTagNouvelle()}" />">#<c:out value="${tag.getNomTagNouvelle()}" /></a>&nbsp;
							</c:forEach>
						    </em>
						</c:otherwise>
					    </c:choose>
					    </p>
					    <p><c:out value="${uneNouvelle.getTexteNouvelle()}" /></p>
					</div>
				    </c:forEach>
				</c:otherwise>
			    </c:choose>
			</c:when>
			<%-- Si le flux n'est pas public ou n'existe pas --%>
			<c:otherwise>
			    <%-- Message d'erreur --%>
			    <p id="erreur">Le flux n'est pas public ou n'existe pas!
				<br /><a href="rechercherUtilisateur.do">Retour</a></p>
			    </c:otherwise>
			</c:choose>
		    </c:when>
		    <%-- Si pas d'ID de flux en paramètre --%>
		    <c:otherwise>
			<c:choose>
			    <%-- Si ID de nouvelle en paramètre --%>
			    <c:when test="${!empty param.nid}">
				<c:set var="nouvelle" value="${listeNouvelles.getById(param.nid)}" />
				<c:choose>
				    <%-- Si la nouvelle appartient à un flux public --%>
				    <c:when test="${(!empty nouvelle) && (listeFlux.getById(nouvelle.id_flux).estPublic == 1)}">
					<%-- Affichage de la nouvelle --%>
				    <div class="divNouvelle">
					<h3><c:out value="${nouvelle.getTitreNouvelle()}" />
                                            <span class="date">(Publié le <c:out value="${nouvelle.getDateFR()}" />)</span>
					    <c:if test="${listeUtilisateur.getByID(sessionID).groupeUtilisateur == 2}">
						<a onclick="return(confirm('Êtes-vous sûr de vouloir supprimer cette nouvelle?'));" href="supprimerNouvelle.do?nid=${nouvelle.id_nouvelle}"><img src="images/delete.gif" title="Supprimer cette nouvelle" /></a>
						</c:if>
					</h3>
					<%-- Affichage des tags --%>
					<p id="pTags"><u>Tags:</u>
					<c:set var="tags" value="${listeTagNouvelle.getByNouvelle(nouvelle.id_nouvelle)}" />
					<c:choose>
					    <c:when test="${empty tags}">
						<em>Aucun</em>
					    </c:when>
					    <c:otherwise>
						<em>
						    <c:forEach var="tag" items="${tags}">
							<a href="rechercherNouvelle.do?tag=<c:out value="${tag.getNomTagNouvelle()}" />">#<c:out value="${tag.getNomTagNouvelle()}" /></a>&nbsp;
						    </c:forEach>
						</em>
					    </c:otherwise>
					</c:choose>
					</p>
					<p><c:out value="${nouvelle.getTexteNouvelle()}" /></p>
				    </div>
				</c:when>
				<%-- Si la nouvelle n'est pas publique ou n'existe pas --%>
				<c:otherwise>
				    <%-- Message d'erreur --%>
				    <p id="erreur">Cette nouvelle n'est pas publique ou n'existe pas!
					<br /><a href="rechercherUtilisateur.do">Retour</a></p>
				    </c:otherwise>
				</c:choose>
			    </c:when>
			    <%-- Si ni ID de flux, ni ID de nouvelle --%>
			    <c:otherwise>

			</c:otherwise> <%-- empty nid --%>
		    </c:choose>
		</c:otherwise> <%-- empty fid --%>
            </c:choose>
	</div> <!-- main -->

    </body>
</html>
